package com.ruicar.afs.cloud.common.modules.dto.mq.loan.contractdto;

import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruicar.afs.cloud.common.core.enums.AfsEnumDeserializer;
import com.ruicar.afs.cloud.common.core.enums.AfsEnumSerializer;
import com.ruicar.afs.cloud.common.modules.afscorebusiness.enums.SexEnum;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.util.Date;

/**
 * @param
 * @author yk.Li
 * @description 合同个人客户明细信息
 * @date 2020/7/8
 */
@Data
public class ContractCustPersonalDetailDTO {
    /**
     * 客户ID
     */
    @JSONField(name = "custNo")
    private Long custId;
    /**
     * 拼音/英文
     */
    @JSONField(name = "spellName")
    private String spellName;
    /**
     * 出生日期
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JSONField(name = "birthday")
    private Date birthday;
    /**
     * 性别 枚举值
     */
    @JSONField(name = "sex", serializeUsing = AfsEnumSerializer.class, deserializeUsing = AfsEnumDeserializer.class)
    private SexEnum sex;
    /**
     * 年龄
     */
    @JSONField(name = "age")
    private String age;
    /**
     * 家庭人数
     */
    @JSONField(name = "personNum")
    private String personNum;
    /**
     * 婚姻状况
     */
    @JSONField(name = "maritalStatus")
    private String maritalStatus;
    /**
     * 工作年限
     */
    @JSONField(name = "workAge")
    private String workAge;
    /**
     * 驾驶证类型
     */
    @JSONField(name = "drivingType")
    private String drivingType;

    /**
     * 驾驶证档案编码
     */
    @JSONField(name = "drivingNo")
    private String drivingLicenceNo;

    /**
     * 最高学历
     */
    @JSONField(name = "highestEducation")
    private String highestEducation;
    /**
     * 职业
     */
    @JSONField(name = "professional")
    private String professional;
    /**
     * 单位名称
     */
    @JSONField(name = "unitName")
    private String unitName;
    /**
     * 单位类型
     */
    @JSONField(name = "unitType")
    private String unitType;
    /**
     * 行业类型
     */
    @JSONField(name = "industryType")
    private String industryType;
    /**
     * 职业类型
     */
    @JSONField(name = "professionalType")
    private String professionalType;
    /**
     * 雇员类型
     */
    @JSONField(name = "employeeType")
    private String employeeType;
    /**
     * 职位
     */
    @JSONField(name = "position")
    private String position;
    /**
     * 规模
     */
    @JSONField(name = "scale")
    private String scale;
    /**
     * 单位工作起始时间
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JSONField(name = "workStartDate")
    private Date workStartDate;
    /**
     * 本人月收入
     */
    @JSONField(name = "monthlyIncome")
    private BigDecimal monthlyIncome;
    /**
     * 未结清贷款
     */
    @JSONField(name = "unclearedLoan")
    private BigDecimal unclearedLoan;
    /**
     * 家庭其他收入
     */
    @JSONField(name = "otherIncome")
    private BigDecimal otherIncome;
    /**
     * 家庭月支出
     */
    @JSONField(name = "monthlySpend")
    private BigDecimal monthlySpend;
    /**
     * 每月还款额
     */
    @JSONField(name = "monthlyPayment")
    private BigDecimal monthlyPayment;
    /**
     * 国籍
     */
    @JSONField(name = "nationality")
    private String nationality;

}
